package com.tedu.review.test;

import com.sun.org.apache.bcel.internal.generic.NEW;

/**
 * 所有类默认继承Object超类
 *通过数组的方式确定所有类继承Object类，随时使用Object方法
 *
 *
 * object类；
 * 1.getClass方法  可以返回对象执行实例名称：class java.lang.Object
 * 2.toString方法  将对象返回字符串形式【打印为地址值形式】
 *                输出引用，默认调用toString
 *                打印效果：String@e67d8[地址值-哈希算法]
 *                        类型@16进制值
 * 实际开发：建议重写toString()
 * 3.equals方法   比较两个对象是否相等【boolean类型】
 * 必须会重写    对象：中国==对象：中国    不是判断地址值是否相等
 * 如何判断两个类完全相等：类=类    属性=属性    方法=方法
 * 判断重写的逻辑
 */
public class Object超类 /*extends Object*/{
    //重写的toString方法
    public String toString() {
        return "Object超类---------";
    }

    public static void main(String[] args) {
        //验证：所有类是继承Object类
        Object[] objs=new Object[4];
        objs[0]=new Object();  //引用类型
        objs[1]="字符串";       //引用类型
        objs[2]=123;           //基本类型
        objs[3]=new Object超类();//引用类型
        //遍历：增强for---确定类型
        for(Object o:objs){
            //getClass()方法 是Object超类 提供方法：打印对象名称
         //   System.out.println(o.getClass()); //打印类对象名称
            System.out.println(o.toString()); //默认调用Object提供toString方法
        }
    }
}
